import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import Vant from 'vant'
import 'vant/lib/index.css'
// 导入normalize.css
import 'normalize.css'
import '@/styles/comm.css'
// 全局过滤器注册
import filtersObj from '@/filters/index.js'
// import '@/api/mock.js'
// Vue.filter('filterTimeGlobal', filtersObj.filterTimeGlobal)
// for (const key in filtersObj) {
//   Vue.filter(key, filtersObj[key])
// }
// Object.keys()   将对象的key转换成数组   Object.values:将对象的value转换成数组  Object.entries:将对象的key与value转换成数组
// 全局过滤器注册
Object.keys(filtersObj).forEach(item => {
  Vue.filter(item, filtersObj[item])
})

// import '@/styles/var.less'  // 转换成css后就没有变量
// import 'amfe-flexible'
// 全局注册GeekIcon  1:导入  2：注册
// import GeekIcon from '@/components/geek-icon.vue'
// Vue.component(GeekIcon.name, GeekIcon)
/*

Vue.use(js代码)
如果该js暴露出来的是一个对象
export default {
   install(Vue,options){

   }

}
如果js暴露的是一个function，该function会直接执行
export default function(Vue.options){

}

*/

import componentJs from '@/components/index.js'
Vue.use(componentJs, 123)
Vue.use(Vant)
Vue.config.productionTip = false

new Vue({
  router,
  store,
  // render: createElement => {
  //   // createElement:创建虚拟dom的
  //   // 参数1： 字符串：标签名   组件  渲染组件的template
  //   // 参数2：该虚拟dom的一些配制参数 class,style....
  //   // 参数3：子集，如果是字符串，就是文本内容，如果是数组，可以在里面再添加createElement子集
  //   return createElement('div', { class: 'xxx' }, [
  //     createElement('span', { class: 'ooo' }, '测试文本')
  //   ])
  // }
  render: h => h(App)
}).$mount('#app')
